package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Getter;
import lombok.Setter;
import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uom.common.model.DefaultDaoFactory;
import cn.ffcs.uom.common.model.UomEntity;
import cn.ffcs.uom.common.util.StrUtil;

/**
 * @Title:教育经历实体
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2017年11月24日
 * @since JDK1.6
 */
public class UecDocEdu extends UomEntity implements Serializable,Cloneable {

	private static final long serialVersionUID = 6714859533643909589L;

	/**
	 * 人员教育经历标识
	 * 
	 * @return
	 */
	public Long getEduId() {
		return super.getId();
	}

	public void setEduId(Long eduId) {
		super.setId(eduId);
	}

	/**
	 * 人员标识
	 */
	@Getter
	@Setter
	private Long staffId;
	/**
	 * 员工类型 1：合同制、派遣制 2：外包自有、其他
	 */
	@Getter
	@Setter
	private String nmStaffType;
	/**
	 * 帐期
	 */
	@Getter
	@Setter
	private Long monthId;
	/**
	 * 主键
	 */
	@Getter
	@Setter
	private String pkPsndocSub;
	/**
	 * 修改时间
	 */
	@Getter
	@Setter
	private String modifiedtime;
	/**
	 * 修改人
	 */
	@Getter
	@Setter
	private String modifier;
	/**
	 * 所属组织
	 */
	@Getter
	@Setter
	private String pkOrg;
	/**
	 * 学习方式
	 */
	@Getter
	@Setter
	private String studymode;
	/**
	 * 是否第一学历
	 */
	@Getter
	@Setter
	private String glbdef5;
	/**
	 * 最高学历
	 */
	@Getter
	@Setter
	private String lasteducation;
	/**
	 * 创建时间
	 */
	@Getter
	@Setter
	private String creationtime;
	/**
	 * 创建人
	 */
	@Getter
	@Setter
	private String creator;
	/**
	 * 是否最高学位
	 */
	@Getter
	@Setter
	private String glbdef4;
	/**
	 * 取得学历时间
	 */
	@Getter
	@Setter
	private String glbdef3;
	/**
	 * 学制
	 */
	@Getter
	@Setter
	private String edusystem;
	/**
	 * 学位
	 */
	@Getter
	@Setter
	private String pkDegree;
	/**
	 * 专业
	 */
	@Getter
	@Setter
	private String major;
	/**
	 * 入学日期
	 */
	@Getter
	@Setter
	private String begindate;
	/**
	 * 学校类别
	 */
	@Getter
	@Setter
	private String glbdef1;
	/**
	 * 毕业日期
	 */
	@Getter
	@Setter
	private String enddate;
	/**
	 * 学位证书编号
	 */
	@Getter
	@Setter
	private String certifcode;
	/**
	 * 所在院（系）
	 */
	@Getter
	@Setter
	private String glbdef2;
	/**
	 * 学历专业类别
	 */
	@Getter
	@Setter
	private String majortype;
	/**
	 * 期间
	 */
	@Getter
	@Setter
	private String period;
	/**
	 * 学历证书编号
	 */
	@Getter
	@Setter
	private String educationctifcode;
	/**
	 * 学位授予日期
	 */
	@Getter
	@Setter
	private String degreedate;
	/**
	 * 学位授予单位
	 */
	@Getter
	@Setter
	private String degreeunit;
	/**
	 * 学校
	 */
	@Getter
	@Setter
	private String school;
	/**
	 * 学历
	 */
	@Getter
	@Setter
	private String education;
	/**
	 * 人员基本信息
	 */
	@Getter
	@Setter
	private String pkPsndoc;
	/**
	 * 最新标示
	 */
	@Getter
	@Setter
	private String lastflag;
	/**
	 * 学校类型
	 */
	@Getter
	@Setter
	private String schooltype;
	/**
	 * 时间戳
	 */
	@Getter
	@Setter
	private String ts;
	/**
	 * 删除标示
	 */
	@Getter
	@Setter
	private Long dr;
	/**
	 * 是否全日制最高学历
	 */
	@Getter
	@Setter
	private String glbdef8;
	/**
	 * 是否在职最高学历
	 */
	@Getter
	@Setter
	private String glbdef9;

	public static UecDocEdu newInstance() {
		return new UecDocEdu();
	}
	
	/**
	 * 学校类别 名称
	 * @return
	 */
	public String getGlbdef1Name() {
		if (!StrUtil.isNullOrEmpty(this.getGlbdef1())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			if(!StrUtil.isNullOrEmpty(this.getGlbdef1())) {
				params.add(this.getGlbdef1());
			}else {
				params.add("");
			}
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		
		}
		return null;
	}
	/**
	 * 学位
	 * @return
	 */
	public String getPkDegreeName() {
		if (!StrUtil.isNullOrEmpty(this.getGlbdef1())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			if(!StrUtil.isNullOrEmpty(this.getPkDegree())) {
				params.add(this.getPkDegree());
			}else {
				params.add("");
			}
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		
		}
		return null;
	}
	
	public String getMajortypeName() {
		if (!StrUtil.isNullOrEmpty(this.getMajortype())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getMajortype());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		
		}
		return null;
	
	}
	
	
	/**
	 * 学历 名称
	 * @return
	 */
	public String getEducationName() {
		if (!StrUtil.isNullOrEmpty(this.getEducation())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			if(!StrUtil.isNullOrEmpty(this.getEducation())) {
				params.add(this.getEducation());
			}else {
				params.add("");
			}
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return null;
	}
	/**
	 * 学习方式
	 * @return
	 */
	public String getStudymodeName() {
		if (!StrUtil.isNullOrEmpty(this.getStudymode())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			if(!StrUtil.isNullOrEmpty(this.getStudymode())) {
				params.add(this.getStudymode());
			}else {
				params.add("");
			}
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return null;
	}
	/**
	 * 是否全日制最高学历
	 */
	public String getGlbdef8Name() {
		String tempStr="";
		if (!StrUtil.isNullOrEmpty(this.getGlbdef8())) {
			if("Y".equals(this.getGlbdef8())) {
			    tempStr="是";
			   }
			if("N".equals(this.getGlbdef8())) {
				tempStr="否";
		}
		return tempStr;
	}
		return null;
}		
		/**
		 * 是否在职最高学历
		 */
		public String getGlbdef9Name() {
			String tempStr="";
			if (!StrUtil.isNullOrEmpty(this.getGlbdef9())) {
				if("Y".equals(this.getGlbdef9())) {
					tempStr="是";
				}
				if("N".equals(this.getGlbdef9())) {
					tempStr="否";
				}
				return tempStr;
			}
			return null;
		}	
		/**
		 * 是否最高学历
		 */
		public String getLasteducationName() {
			String tempStr="";
			if (!StrUtil.isNullOrEmpty(this.getLasteducation())) {
				if("Y".equals(this.getLasteducation())) {
					tempStr="是";
				}
				if("N".equals(this.getLasteducation())) {
					tempStr="否";
				}
				return tempStr;
			}
			return null;
		}	
		/**
		 * 是否最高学位
		 */
		public String getGlbdef4Name() {
			String tempStr="";
			if (!StrUtil.isNullOrEmpty(this.getGlbdef4())) {
				if("Y".equals(this.getGlbdef4())) {
					tempStr="是";
				}
				if("N".equals(this.getGlbdef4())) {
					tempStr="否";
				}
				return tempStr;
			}
			return null;
		}	
		/**
		 * 是否第一学历
		 */
		public String getGlbdef5Name() {
			String tempStr="";
			if (!StrUtil.isNullOrEmpty(this.getGlbdef5())) {
				if("Y".equals(this.getGlbdef5())) {
					tempStr="是";
				}
				if("N".equals(this.getGlbdef5())) {
					tempStr="否";
				}
				return tempStr;
			}
			return null;
		}	
	@Override
	public Object clone() {
		UecDocEdu uecDocEdu = null;
		try {
			uecDocEdu = (UecDocEdu) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return uecDocEdu;
	}
}
